<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: loader.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">loader.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Definitions of IDP, LDR, PLUGIN module interfaces. </p>
<p>This file also contains:</p><ul>
<li>functions to load files into the database</li>
<li>functions to generate output files</li>
<li>high level functions to work with the database (open, save, close)</li>
</ul>
<p>The LDR interface consists of one structure: <a class="el" href="structloader__t.html" title="Loader description block - must be exported from the loader module. ">loader_t</a> <br />
The IDP interface consists of one structure: <a class="el" href="structprocessor__t.html" title="Describes a processor module (IDP). ">processor_t</a> <br />
The PLUGIN interface consists of one structure: <a class="el" href="classplugin__t.html" title="A plugin is a module in the plugins subdirectory that can perform an action asked by the user...">plugin_t</a></p>
<p>Modules can't use standard FILE* functions. They must use functions from &lt;<a class="el" href="fpro_8h.html" title="System independent counterparts of FILE* related functions from Clib. ">fpro.h</a>&gt;</p>
<p>Modules can't use standard memory allocation functions. They must use functions from &lt;<a class="el" href="pro_8h.html" title="This is the first header included in the IDA project. ">pro.h</a>&gt;</p>
<p>The exported entry #1 in the module should point to the the appropriate structure. (<a class="el" href="structloader__t.html" title="Loader description block - must be exported from the loader module. ">loader_t</a> for LDR module, for example) </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structloader__t.html">loader_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loader description block - must be exported from the loader module.  <a href="structloader__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structload__info__t.html">load_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">List of loaders.  <a href="structload__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structimpinfo__t.html">impinfo_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="loader_8hpp.html#a6c309fd957fd4d5d6e4b878f1523053a" title="Callback for checking dll module - passed to import_module(). ">importer_t</a>.  <a href="structimpinfo__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classplugin__t.html">plugin_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A plugin is a module in the plugins subdirectory that can perform an action asked by the user.  <a href="classplugin__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structidp__name__t.html">idp_name_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processor name.  <a href="structidp__name__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structidp__desc__t.html">idp_desc_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processor module description.  <a href="structidp__desc__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structplugin__info__t.html">plugin_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to store Plugin information.  <a href="structplugin__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdbg__info__t.html">dbg_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information for the user interface about available debuggers.  <a href="structdbg__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsnapshot__t.html">snapshot_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Snapshot attributes.  <a href="classsnapshot__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a83edb5e6875a5c10a621b271b72520d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83edb5e6875a5c10a621b271b72520d2"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#aa1728270d73c5d1598de1fd691762eb1">NORETURN</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a83edb5e6875a5c10a621b271b72520d2">vloader_failure</a> (const char *format, va_list va)</td></tr>
<tr class="memdesc:a83edb5e6875a5c10a621b271b72520d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="loader_8hpp.html#ac5e3189d54cc0c34924fb28ebacbbbc3" title="Display a message about a loader failure and stop the loading process. ">loader_failure()</a> <br /></td></tr>
<tr class="separator:a83edb5e6875a5c10a621b271b72520d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e3189d54cc0c34924fb28ebacbbbc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#aa1728270d73c5d1598de1fd691762eb1">NORETURN</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac5e3189d54cc0c34924fb28ebacbbbc3">loader_failure</a> (const char *format=NULL,...)</td></tr>
<tr class="memdesc:ac5e3189d54cc0c34924fb28ebacbbbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display a message about a loader failure and stop the loading process.  <a href="#ac5e3189d54cc0c34924fb28ebacbbbc3">More...</a><br /></td></tr>
<tr class="separator:ac5e3189d54cc0c34924fb28ebacbbbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfc5c9be335ca62fd92ae0361fe06465"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfc5c9be335ca62fd92ae0361fe06465"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="structload__info__t.html">load_info_t</a> *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#acfc5c9be335ca62fd92ae0361fe06465">build_loaders_list</a> (linput_t *li, const char *filename)</td></tr>
<tr class="memdesc:acfc5c9be335ca62fd92ae0361fe06465"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build list of potential loaders. <br /></td></tr>
<tr class="separator:acfc5c9be335ca62fd92ae0361fe06465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd8b95eb45916306eadbe41d171d5b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abfd8b95eb45916306eadbe41d171d5b4"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#abfd8b95eb45916306eadbe41d171d5b4">free_loaders_list</a> (<a class="el" href="structload__info__t.html">load_info_t</a> *list)</td></tr>
<tr class="memdesc:abfd8b95eb45916306eadbe41d171d5b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the list of loaders. <br /></td></tr>
<tr class="separator:abfd8b95eb45916306eadbe41d171d5b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18e35121f357ca80129e31041429b913"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> char *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a18e35121f357ca80129e31041429b913">get_loader_name_from_dll</a> (char *dllname)</td></tr>
<tr class="memdesc:a18e35121f357ca80129e31041429b913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of loader from its DLL file (for example, for PE files we will get "PE").  <a href="#a18e35121f357ca80129e31041429b913">More...</a><br /></td></tr>
<tr class="separator:a18e35121f357ca80129e31041429b913"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c79e47be0a36e47363409f3ce9ce6c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a9c79e47be0a36e47363409f3ce9ce6c5">get_loader_name</a> (char *buf, size_t bufsize)</td></tr>
<tr class="memdesc:a9c79e47be0a36e47363409f3ce9ce6c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of loader used to load the input file into the database.  <a href="#a9c79e47be0a36e47363409f3ce9ce6c5">More...</a><br /></td></tr>
<tr class="separator:a9c79e47be0a36e47363409f3ce9ce6c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b08728a4c590e639d3eebca204e7194"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a5b08728a4c590e639d3eebca204e7194">load_binary_file</a> (const char *filename, linput_t *li, <a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a> _neflags, <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> fileoff, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> basepara, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> binoff, <a class="el" href="pro_8h.html#a2f5563986d7f95e4fad5876c17d9cdda">uint64</a> nbytes)</td></tr>
<tr class="memdesc:a5b08728a4c590e639d3eebca204e7194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a binary file into the database.  <a href="#a5b08728a4c590e639d3eebca204e7194">More...</a><br /></td></tr>
<tr class="separator:a5b08728a4c590e639d3eebca204e7194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac15d39cb4930f335d521516d8e56e77d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac15d39cb4930f335d521516d8e56e77d">load_nonbinary_file</a> (const char *filename, linput_t *li, const char *sysdlldir, <a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a> _neflags, <a class="el" href="structload__info__t.html">load_info_t</a> *loader)</td></tr>
<tr class="memdesc:ac15d39cb4930f335d521516d8e56e77d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a non-binary file into the database.  <a href="#ac15d39cb4930f335d521516d8e56e77d">More...</a><br /></td></tr>
<tr class="separator:ac15d39cb4930f335d521516d8e56e77d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab10ca781692c3c093f87e376b2709f93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ab10ca781692c3c093f87e376b2709f93">process_archive</a> (<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *temp_file, linput_t *li, <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *module_name, <a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a> *neflags, const char *defmember, const <a class="el" href="structload__info__t.html">load_info_t</a> *loader, <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *errbuf=NULL)</td></tr>
<tr class="memdesc:ab10ca781692c3c093f87e376b2709f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls <a class="el" href="structloader__t.html#a9f5ef40830d55bde46d1487214ce478a" title="Display list of archive members and let the user select one. ">loader_t::process_archive()</a> For parameters and return value description look at <a class="el" href="structloader__t.html#a9f5ef40830d55bde46d1487214ce478a" title="Display list of archive members and let the user select one. ">loader_t::process_archive()</a>.  <a href="#ab10ca781692c3c093f87e376b2709f93">More...</a><br /></td></tr>
<tr class="separator:ab10ca781692c3c093f87e376b2709f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777046093020c790ec43bd207166bf09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a777046093020c790ec43bd207166bf09">gen_file</a> (<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13">ofile_type_t</a> otype, FILE *fp, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2, int flags)</td></tr>
<tr class="memdesc:a777046093020c790ec43bd207166bf09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate an output file.  <a href="#a777046093020c790ec43bd207166bf09">More...</a><br /></td></tr>
<tr class="separator:a777046093020c790ec43bd207166bf09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa55dad642948cb62f91344716212366a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#aa55dad642948cb62f91344716212366a">file2base</a> (linput_t *li, <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> pos, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2, int patchable)</td></tr>
<tr class="memdesc:aa55dad642948cb62f91344716212366a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load portion of file into the database.  <a href="#aa55dad642948cb62f91344716212366a">More...</a><br /></td></tr>
<tr class="separator:aa55dad642948cb62f91344716212366a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b18e29bd0da13b0560d26c1b2d4e172"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a3b18e29bd0da13b0560d26c1b2d4e172">mem2base</a> (const void *memptr, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2, <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> fpos)</td></tr>
<tr class="memdesc:a3b18e29bd0da13b0560d26c1b2d4e172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load database from the memory.  <a href="#a3b18e29bd0da13b0560d26c1b2d4e172">More...</a><br /></td></tr>
<tr class="separator:a3b18e29bd0da13b0560d26c1b2d4e172"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad72e52cafb9dcef67cd0b3ba9df3943f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ad72e52cafb9dcef67cd0b3ba9df3943f">base2file</a> (FILE *fp, <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> pos, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2)</td></tr>
<tr class="memdesc:ad72e52cafb9dcef67cd0b3ba9df3943f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unload database to a binary file.  <a href="#ad72e52cafb9dcef67cd0b3ba9df3943f">More...</a><br /></td></tr>
<tr class="separator:ad72e52cafb9dcef67cd0b3ba9df3943f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4ba049fd5e75b691ad84a1d4afaa7b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ab4ba049fd5e75b691ad84a1d4afaa7b0">extract_module_from_archive</a> (char *filename, size_t bufsize, char **temp_file_ptr, bool is_remote)</td></tr>
<tr class="memdesc:ab4ba049fd5e75b691ad84a1d4afaa7b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a module for an archive file.  <a href="#ab4ba049fd5e75b691ad84a1d4afaa7b0">More...</a><br /></td></tr>
<tr class="separator:ab4ba049fd5e75b691ad84a1d4afaa7b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76f3d7216b04914ec7886daf05794f55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a76f3d7216b04914ec7886daf05794f55">create_filename_cmt</a> (void)</td></tr>
<tr class="memdesc:a76f3d7216b04914ec7886daf05794f55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add long comment at <a class="el" href="structidainfo.html#a9414151d0f7241ac1369b98358b8c0cb" title="current limits of program ">idainfo::min_ea</a>.  <a href="#a76f3d7216b04914ec7886daf05794f55">More...</a><br /></td></tr>
<tr class="separator:a76f3d7216b04914ec7886daf05794f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bf2f7720c1b4595f7ee1fbb3e34bde6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="ida_8hpp.html#a51e70cc62f9953d2ca9595e8461473b2">filetype_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a1bf2f7720c1b4595f7ee1fbb3e34bde6">get_basic_file_type</a> (linput_t *li)</td></tr>
<tr class="memdesc:a1bf2f7720c1b4595f7ee1fbb3e34bde6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the input file type.  <a href="#a1bf2f7720c1b4595f7ee1fbb3e34bde6">More...</a><br /></td></tr>
<tr class="separator:a1bf2f7720c1b4595f7ee1fbb3e34bde6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85d9ba6bca5dfb0296d5339d9343bb22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a85d9ba6bca5dfb0296d5339d9343bb22">get_file_type_name</a> (char *buf, size_t bufsize)</td></tr>
<tr class="memdesc:a85d9ba6bca5dfb0296d5339d9343bb22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of the current file type.  <a href="#a85d9ba6bca5dfb0296d5339d9343bb22">More...</a><br /></td></tr>
<tr class="separator:a85d9ba6bca5dfb0296d5339d9343bb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a691f60415204d2d43ee2f71444a229e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a691f60415204d2d43ee2f71444a229e8">import_module</a> (const char *module, const char *windir, <a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a> modnode, <a class="el" href="loader_8hpp.html#a6c309fd957fd4d5d6e4b878f1523053a">importer_t</a> *importer, const char *ostype)</td></tr>
<tr class="memdesc:a691f60415204d2d43ee2f71444a229e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find and import a DLL module.  <a href="#a691f60415204d2d43ee2f71444a229e8">More...</a><br /></td></tr>
<tr class="separator:a691f60415204d2d43ee2f71444a229e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba0730edb4ea108a51cd3d4166a3097c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#aba0730edb4ea108a51cd3d4166a3097c">load_ids_module</a> (char *fname)</td></tr>
<tr class="memdesc:aba0730edb4ea108a51cd3d4166a3097c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load and apply IDS file.  <a href="#aba0730edb4ea108a51cd3d4166a3097c">More...</a><br /></td></tr>
<tr class="separator:aba0730edb4ea108a51cd3d4166a3097c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd9e56c1bcf8480afe06a0f0866a0c67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afd9e56c1bcf8480afe06a0f0866a0c67"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>CASSERT</b> (sizeof(<a class="el" href="classplugin__t.html">plugin_t</a>)==36)</td></tr>
<tr class="separator:afd9e56c1bcf8480afe06a0f0866a0c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96800dfd50da2296e1586a63b62cf7d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> const char *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a96800dfd50da2296e1586a63b62cf7d0">get_plugin_options</a> (const char *plugin)</td></tr>
<tr class="memdesc:a96800dfd50da2296e1586a63b62cf7d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get plugin options from the command line.  <a href="#a96800dfd50da2296e1586a63b62cf7d0">More...</a><br /></td></tr>
<tr class="separator:a96800dfd50da2296e1586a63b62cf7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a903be1ab9de77183627de6b6845571f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a903be1ab9de77183627de6b6845571f9"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> const <a class="el" href="loader_8hpp.html#af800f6e24c5fc4b6e53be1c585813930">idp_descs_t</a> *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a903be1ab9de77183627de6b6845571f9">get_idp_descs</a> (void)</td></tr>
<tr class="memdesc:a903be1ab9de77183627de6b6845571f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get IDA processor modules descriptions. <br /></td></tr>
<tr class="separator:a903be1ab9de77183627de6b6845571f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f1441cc5329a24fba18b1ebcc93e648"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="structplugin__info__t.html">plugin_info_t</a> *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a7f1441cc5329a24fba18b1ebcc93e648">get_plugins</a> (void)</td></tr>
<tr class="memdesc:a7f1441cc5329a24fba18b1ebcc93e648"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pointer to the list of plugins.  <a href="#a7f1441cc5329a24fba18b1ebcc93e648">More...</a><br /></td></tr>
<tr class="separator:a7f1441cc5329a24fba18b1ebcc93e648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b8895f7a2023df147ca3c33c838dc66"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="classplugin__t.html">plugin_t</a> *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a9b8895f7a2023df147ca3c33c838dc66">find_plugin</a> (const char *name, bool load_if_needed=false)</td></tr>
<tr class="memdesc:a9b8895f7a2023df147ca3c33c838dc66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find a user-defined plugin and optionally load it.  <a href="#a9b8895f7a2023df147ca3c33c838dc66">More...</a><br /></td></tr>
<tr class="separator:a9b8895f7a2023df147ca3c33c838dc66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2f94e6e1fe858c03d2185ae6133fe3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e2f94e6e1fe858c03d2185ae6133fe3"></a>
<a class="el" href="classplugin__t.html">plugin_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>load_plugin</b> (const char *name)</td></tr>
<tr class="separator:a9e2f94e6e1fe858c03d2185ae6133fe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e621020baec2507c01cf731ce235e82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a7e621020baec2507c01cf731ce235e82">run_plugin</a> (const <a class="el" href="classplugin__t.html">plugin_t</a> *ptr, size_t arg)</td></tr>
<tr class="memdesc:a7e621020baec2507c01cf731ce235e82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a loaded plugin with the specified argument.  <a href="#a7e621020baec2507c01cf731ce235e82">More...</a><br /></td></tr>
<tr class="separator:a7e621020baec2507c01cf731ce235e82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9079b8a7540d47d88d44833c52cc9ca9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9079b8a7540d47d88d44833c52cc9ca9"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a9079b8a7540d47d88d44833c52cc9ca9">load_and_run_plugin</a> (const char *name, size_t arg)</td></tr>
<tr class="memdesc:a9079b8a7540d47d88d44833c52cc9ca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load &amp; run a plugin. <br /></td></tr>
<tr class="separator:a9079b8a7540d47d88d44833c52cc9ca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9abcb2944bf5c52b052bbf4a61b73827"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a9abcb2944bf5c52b052bbf4a61b73827">invoke_plugin</a> (<a class="el" href="structplugin__info__t.html">plugin_info_t</a> *ptr)</td></tr>
<tr class="memdesc:a9abcb2944bf5c52b052bbf4a61b73827"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a plugin as configured.  <a href="#a9abcb2944bf5c52b052bbf4a61b73827">More...</a><br /></td></tr>
<tr class="separator:a9abcb2944bf5c52b052bbf4a61b73827"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3a0b6b691eaec820b2bef392a641fca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab3a0b6b691eaec820b2bef392a641fca"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ab3a0b6b691eaec820b2bef392a641fca">get_debugger_plugins</a> (const <a class="el" href="structdbg__info__t.html">dbg_info_t</a> **array)</td></tr>
<tr class="memdesc:ab3a0b6b691eaec820b2bef392a641fca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get information about available debuggers. <br /></td></tr>
<tr class="separator:ab3a0b6b691eaec820b2bef392a641fca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b8950bdfe934ee0ccd566f0be72b19"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14b8950bdfe934ee0ccd566f0be72b19"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a14b8950bdfe934ee0ccd566f0be72b19">init_plugins</a> (int flag)</td></tr>
<tr class="memdesc:a14b8950bdfe934ee0ccd566f0be72b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize plugins with the specified flag. <br /></td></tr>
<tr class="separator:a14b8950bdfe934ee0ccd566f0be72b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3b5de6a20dd77cf164d4799cf805620"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3b5de6a20dd77cf164d4799cf805620"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac3b5de6a20dd77cf164d4799cf805620">term_plugins</a> (int flag)</td></tr>
<tr class="memdesc:ac3b5de6a20dd77cf164d4799cf805620"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate plugins with the specified flag. <br /></td></tr>
<tr class="separator:ac3b5de6a20dd77cf164d4799cf805620"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a1268cfc7b629c2be966383b748a825"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a3a1268cfc7b629c2be966383b748a825">get_fileregion_offset</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:a3a1268cfc7b629c2be966383b748a825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get offset in the input file which corresponds to the given ea.  <a href="#a3a1268cfc7b629c2be966383b748a825">More...</a><br /></td></tr>
<tr class="separator:a3a1268cfc7b629c2be966383b748a825"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af44752f06437888ed7130392e7500c7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#af44752f06437888ed7130392e7500c7a">get_fileregion_ea</a> (<a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> offset)</td></tr>
<tr class="memdesc:af44752f06437888ed7130392e7500c7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get linear address which corresponds to the specified input file offset.  <a href="#af44752f06437888ed7130392e7500c7a">More...</a><br /></td></tr>
<tr class="separator:af44752f06437888ed7130392e7500c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee2dc76ca48290c88148d797981a1e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a5ee2dc76ca48290c88148d797981a1e5">gen_exe_file</a> (FILE *fp)</td></tr>
<tr class="memdesc:a5ee2dc76ca48290c88148d797981a1e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generate an exe file (unload the database in binary form).  <a href="#a5ee2dc76ca48290c88148d797981a1e5">More...</a><br /></td></tr>
<tr class="separator:a5ee2dc76ca48290c88148d797981a1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fcf1fea4811bb1c5f0a73190bc14d6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a9fcf1fea4811bb1c5f0a73190bc14d6e">reload_file</a> (const char *file, bool is_remote)</td></tr>
<tr class="memdesc:a9fcf1fea4811bb1c5f0a73190bc14d6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reload the input file.  <a href="#a9fcf1fea4811bb1c5f0a73190bc14d6e">More...</a><br /></td></tr>
<tr class="separator:a9fcf1fea4811bb1c5f0a73190bc14d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b1eb64bd13c7b7a5c1504a8f987d69"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ab9b1eb64bd13c7b7a5c1504a8f987d69">build_snapshot_tree</a> (<a class="el" href="classsnapshot__t.html">snapshot_t</a> *root)</td></tr>
<tr class="memdesc:ab9b1eb64bd13c7b7a5c1504a8f987d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build the snapshot tree.  <a href="#ab9b1eb64bd13c7b7a5c1504a8f987d69">More...</a><br /></td></tr>
<tr class="separator:ab9b1eb64bd13c7b7a5c1504a8f987d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a158e6ba80d69bcde4af42d2c939f4376"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a158e6ba80d69bcde4af42d2c939f4376">update_snapshot_attributes</a> (const char *filename, const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *root, const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *attr, int uf)</td></tr>
<tr class="memdesc:a158e6ba80d69bcde4af42d2c939f4376"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the snapshot attributes.  <a href="#a158e6ba80d69bcde4af42d2c939f4376">More...</a><br /></td></tr>
<tr class="separator:a158e6ba80d69bcde4af42d2c939f4376"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11e7103c81ba0bc7b3baa7d24d4fccc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a11e7103c81ba0bc7b3baa7d24d4fccc8">visit_snapshot_tree</a> (<a class="el" href="classsnapshot__t.html">snapshot_t</a> *root, int(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *callback)(<a class="el" href="classsnapshot__t.html">snapshot_t</a> *ss, void *ud), void *ud=NULL)</td></tr>
<tr class="memdesc:a11e7103c81ba0bc7b3baa7d24d4fccc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit the snapshot tree.  <a href="#a11e7103c81ba0bc7b3baa7d24d4fccc8">More...</a><br /></td></tr>
<tr class="separator:a11e7103c81ba0bc7b3baa7d24d4fccc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c03c7c9eaaf4e7b45526aa8c205c9a9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c03c7c9eaaf4e7b45526aa8c205c9a9"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a0c03c7c9eaaf4e7b45526aa8c205c9a9">flush_buffers</a> (void)</td></tr>
<tr class="memdesc:a0c03c7c9eaaf4e7b45526aa8c205c9a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flush buffers to the disk. <br /></td></tr>
<tr class="separator:a0c03c7c9eaaf4e7b45526aa8c205c9a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace9603bb655febe982d2b8581a9a68c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace9603bb655febe982d2b8581a9a68c2"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ace9603bb655febe982d2b8581a9a68c2">is_trusted_idb</a> (void)</td></tr>
<tr class="memdesc:ace9603bb655febe982d2b8581a9a68c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the database considered as trusted? <br /></td></tr>
<tr class="separator:ace9603bb655febe982d2b8581a9a68c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69927b7b74920604c6f44aa6e11f6294"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a69927b7b74920604c6f44aa6e11f6294">save_database</a> (const char *outfile, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags, const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *root=NULL, const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *attr=NULL)</td></tr>
<tr class="memdesc:a69927b7b74920604c6f44aa6e11f6294"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save current database using a new file name.  <a href="#a69927b7b74920604c6f44aa6e11f6294">More...</a><br /></td></tr>
<tr class="separator:a69927b7b74920604c6f44aa6e11f6294"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f4bda41b8fad163e6dba22738e190b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac7f4bda41b8fad163e6dba22738e190b">is_database_flag</a> (<a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> dbfl)</td></tr>
<tr class="memdesc:ac7f4bda41b8fad163e6dba22738e190b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current database flag.  <a href="#ac7f4bda41b8fad163e6dba22738e190b">More...</a><br /></td></tr>
<tr class="separator:ac7f4bda41b8fad163e6dba22738e190b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0e33baf80ef75d02f0e21f3ddceda42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#aa0e33baf80ef75d02f0e21f3ddceda42">set_database_flag</a> (<a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> dbfl, bool cnd=true)</td></tr>
<tr class="memdesc:aa0e33baf80ef75d02f0e21f3ddceda42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set or clear database flag.  <a href="#aa0e33baf80ef75d02f0e21f3ddceda42">More...</a><br /></td></tr>
<tr class="separator:aa0e33baf80ef75d02f0e21f3ddceda42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a151a0cede32388b484bf97a492c2bfb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a151a0cede32388b484bf97a492c2bfb2"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clr_database_flag</b> (<a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> dbfl)</td></tr>
<tr class="separator:a151a0cede32388b484bf97a492c2bfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eebc00ec95571dae0c7a2a5934cdde8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1eebc00ec95571dae0c7a2a5934cdde8"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a1eebc00ec95571dae0c7a2a5934cdde8">is_temp_database</a> (void)</td></tr>
<tr class="memdesc:a1eebc00ec95571dae0c7a2a5934cdde8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is a temporary database? <br /></td></tr>
<tr class="separator:a1eebc00ec95571dae0c7a2a5934cdde8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d52315010e82a531e269aa8aff2aa8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> const char *<a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a3d52315010e82a531e269aa8aff2aa8b">get_path</a> (<a class="el" href="group___p_a_t_h___t_y_p_e__.html#gafc09bc028687e92ef441af98ebf39072">path_type_t</a> pt)</td></tr>
<tr class="memdesc:a3d52315010e82a531e269aa8aff2aa8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the file path.  <a href="#a3d52315010e82a531e269aa8aff2aa8b">More...</a><br /></td></tr>
<tr class="separator:a3d52315010e82a531e269aa8aff2aa8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb580ee23f6f8a95df39136d45267870"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#acb580ee23f6f8a95df39136d45267870">set_path</a> (<a class="el" href="group___p_a_t_h___t_y_p_e__.html#gafc09bc028687e92ef441af98ebf39072">path_type_t</a> pt, const char *path)</td></tr>
<tr class="memdesc:acb580ee23f6f8a95df39136d45267870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the file path.  <a href="#acb580ee23f6f8a95df39136d45267870">More...</a><br /></td></tr>
<tr class="separator:acb580ee23f6f8a95df39136d45267870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a486af3674d3c096e2f4bc32c1a730ca4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a486af3674d3c096e2f4bc32c1a730ca4">is_database_ext</a> (const char *ext)</td></tr>
<tr class="memdesc:a486af3674d3c096e2f4bc32c1a730ca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the file extension.  <a href="#a486af3674d3c096e2f4bc32c1a730ca4">More...</a><br /></td></tr>
<tr class="separator:a486af3674d3c096e2f4bc32c1a730ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Regions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Work with file regions (for patching) </p>
</div></td></tr>
<tr class="memitem:a03f5a5b9e316b519bffa4af2cec2eb32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03f5a5b9e316b519bffa4af2cec2eb32"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>init_fileregions</b> (void)</td></tr>
<tr class="separator:a03f5a5b9e316b519bffa4af2cec2eb32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a2f46084e820dbda69a4f7a39136d57"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a2f46084e820dbda69a4f7a39136d57"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>term_fileregions</b> (void)</td></tr>
<tr class="separator:a7a2f46084e820dbda69a4f7a39136d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae365a0661bb84afe582c5895b20cd6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae365a0661bb84afe582c5895b20cd6d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>save_fileregions</b> (void)</td></tr>
<tr class="separator:aae365a0661bb84afe582c5895b20cd6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb05afd3526078b80bbe4345d61e85ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb05afd3526078b80bbe4345d61e85ec"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>add_fileregion</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2, <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> fpos)</td></tr>
<tr class="separator:aeb05afd3526078b80bbe4345d61e85ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a73ccfe1696de67533f45e3d550767"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56a73ccfe1696de67533f45e3d550767"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>move_fileregions</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="pro_8h.html#adbc570541d9f9a0c4489f9f1fe5f5699">asize_t</a> size, bool changed_netmap)</td></tr>
<tr class="separator:a56a73ccfe1696de67533f45e3d550767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb00906d345438c6b035f7ef4dbcf73a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb00906d345438c6b035f7ef4dbcf73a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>del_fileregions</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea1, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea2)</td></tr>
<tr class="separator:acb00906d345438c6b035f7ef4dbcf73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Lines</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrpa0b0293a2db49f5f93c15a62e095c819"></a>Callback functions to output lines: </p>
</td></tr>
<tr class="memitem:a0b74764c6dcced97b2ca35f5c4b9afb5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b74764c6dcced97b2ca35f5c4b9afb5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>gen_outline_t</b>&#160;&#160;&#160;html_line_cb_t</td></tr>
<tr class="separator:a0b74764c6dcced97b2ca35f5c4b9afb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3bbfac57f64791a7b2948026677063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf3bbfac57f64791a7b2948026677063"></a>
typedef int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>html_header_cb_t</b>(FILE *fp)</td></tr>
<tr class="separator:aaf3bbfac57f64791a7b2948026677063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac61876d55d1f12a5dc51f1d22d0b409e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac61876d55d1f12a5dc51f1d22d0b409e"></a>
typedef int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>html_footer_cb_t</b>(FILE *fp)</td></tr>
<tr class="separator:ac61876d55d1f12a5dc51f1d22d0b409e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae67661ea25e2c5115cb66bb328e1cb12"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae67661ea25e2c5115cb66bb328e1cb12"></a>
typedef int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>html_line_cb_t</b>(FILE *fp, const <a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> &amp;line, <a class="el" href="pro_8h.html#a3df5040891132e50157aee66affdf1de">bgcolor_t</a> prefix_color, <a class="el" href="pro_8h.html#a3df5040891132e50157aee66affdf1de">bgcolor_t</a> bg_color)</td></tr>
<tr class="separator:ae67661ea25e2c5115cb66bb328e1cb12"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gad84d752ae33d94062ef5dec8f2e82a0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad84d752ae33d94062ef5dec8f2e82a0b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_d_r_f__.html#gad84d752ae33d94062ef5dec8f2e82a0b">LDRF_RELOAD</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gad84d752ae33d94062ef5dec8f2e82a0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">loader recognizes <a class="el" href="group___n_e_f__.html#ga1e82e9bb7ac0d602cdd774cda222c1a0" title="reload the file at the same place: ">NEF_RELOAD</a> flag <br /></td></tr>
<tr class="separator:gad84d752ae33d94062ef5dec8f2e82a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee1078021c1ba4ce8b0f69a31b6f6d2f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_d_r_f__.html#gaee1078021c1ba4ce8b0f69a31b6f6d2f">LDRF_REQ_PROC</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:gaee1078021c1ba4ce8b0f69a31b6f6d2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requires a processor to be set.  <a href="group___l_d_r_f__.html#gaee1078021c1ba4ce8b0f69a31b6f6d2f">More...</a><br /></td></tr>
<tr class="separator:gaee1078021c1ba4ce8b0f69a31b6f6d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d411e4e7c809664e1ba33c61b0bffa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95d411e4e7c809664e1ba33c61b0bffa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a95d411e4e7c809664e1ba33c61b0bffa">ACCEPT_ARCHIVE</a>&#160;&#160;&#160;0x2000</td></tr>
<tr class="memdesc:a95d411e4e7c809664e1ba33c61b0bffa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify that a file format is served by archive loader See <a class="el" href="structloader__t.html#a71ddfdd15d4c7ff137acd776f21ece60" title="Check input file format. ">loader_t::accept_file</a>. <br /></td></tr>
<tr class="separator:a95d411e4e7c809664e1ba33c61b0bffa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60fb3c4f4605753d48e4c437f924e7be"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60fb3c4f4605753d48e4c437f924e7be"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a60fb3c4f4605753d48e4c437f924e7be">ACCEPT_CONTINUE</a>&#160;&#160;&#160;0x4000</td></tr>
<tr class="memdesc:a60fb3c4f4605753d48e4c437f924e7be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify that the function must be called another time See <a class="el" href="structloader__t.html#a71ddfdd15d4c7ff137acd776f21ece60" title="Check input file format. ">loader_t::accept_file</a>. <br /></td></tr>
<tr class="separator:a60fb3c4f4605753d48e4c437f924e7be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4a513b8be5b7a4aa5984ea4f43eacd1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac4a513b8be5b7a4aa5984ea4f43eacd1">ACCEPT_FIRST</a>&#160;&#160;&#160;0x8000</td></tr>
<tr class="memdesc:ac4a513b8be5b7a4aa5984ea4f43eacd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify that a file format should be place first in "load file" dialog box.  <a href="#ac4a513b8be5b7a4aa5984ea4f43eacd1">More...</a><br /></td></tr>
<tr class="separator:ac4a513b8be5b7a4aa5984ea4f43eacd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f5b9cfa74761b15d12189baa77675f0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3f5b9cfa74761b15d12189baa77675f0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga3f5b9cfa74761b15d12189baa77675f0">NEF_SEGS</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga3f5b9cfa74761b15d12189baa77675f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create segments. <br /></td></tr>
<tr class="separator:ga3f5b9cfa74761b15d12189baa77675f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga883034000de9c1c1417912e08e2d5160"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga883034000de9c1c1417912e08e2d5160"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga883034000de9c1c1417912e08e2d5160">NEF_RSCS</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga883034000de9c1c1417912e08e2d5160"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load resources. <br /></td></tr>
<tr class="separator:ga883034000de9c1c1417912e08e2d5160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga161760832f74975b7a617194956c0ced"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga161760832f74975b7a617194956c0ced"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga161760832f74975b7a617194956c0ced">NEF_NAME</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:ga161760832f74975b7a617194956c0ced"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename entries. <br /></td></tr>
<tr class="separator:ga161760832f74975b7a617194956c0ced"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga010750734d8c2621cd74fed09b807440"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga010750734d8c2621cd74fed09b807440"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga010750734d8c2621cd74fed09b807440">NEF_MAN</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga010750734d8c2621cd74fed09b807440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Manual load. <br /></td></tr>
<tr class="separator:ga010750734d8c2621cd74fed09b807440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace2d7cc234e0cf73e2dba41f6826ea07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gace2d7cc234e0cf73e2dba41f6826ea07"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#gace2d7cc234e0cf73e2dba41f6826ea07">NEF_FILL</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:gace2d7cc234e0cf73e2dba41f6826ea07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill segment gaps. <br /></td></tr>
<tr class="separator:gace2d7cc234e0cf73e2dba41f6826ea07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f36ad0759e6b06a8ce703198bebd895"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2f36ad0759e6b06a8ce703198bebd895"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga2f36ad0759e6b06a8ce703198bebd895">NEF_IMPS</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga2f36ad0759e6b06a8ce703198bebd895"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create import segment. <br /></td></tr>
<tr class="separator:ga2f36ad0759e6b06a8ce703198bebd895"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf656881a6f6cf5f94781f6b1daf225df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#gaf656881a6f6cf5f94781f6b1daf225df">NEF_FIRST</a>&#160;&#160;&#160;0x0080</td></tr>
<tr class="memdesc:gaf656881a6f6cf5f94781f6b1daf225df"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is the first file loaded.  <a href="group___n_e_f__.html#gaf656881a6f6cf5f94781f6b1daf225df">More...</a><br /></td></tr>
<tr class="separator:gaf656881a6f6cf5f94781f6b1daf225df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfbe5b017d2e57b28012ed4523e6cbe1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#gacfbe5b017d2e57b28012ed4523e6cbe1">NEF_CODE</a>&#160;&#160;&#160;0x0100</td></tr>
<tr class="memdesc:gacfbe5b017d2e57b28012ed4523e6cbe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">for <a class="el" href="loader_8hpp.html#a5b08728a4c590e639d3eebca204e7194" title="Load a binary file into the database. ">load_binary_file()</a>:  <a href="group___n_e_f__.html#gacfbe5b017d2e57b28012ed4523e6cbe1">More...</a><br /></td></tr>
<tr class="separator:gacfbe5b017d2e57b28012ed4523e6cbe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e82e9bb7ac0d602cdd774cda222c1a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga1e82e9bb7ac0d602cdd774cda222c1a0">NEF_RELOAD</a>&#160;&#160;&#160;0x0200</td></tr>
<tr class="memdesc:ga1e82e9bb7ac0d602cdd774cda222c1a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">reload the file at the same place:  <a href="group___n_e_f__.html#ga1e82e9bb7ac0d602cdd774cda222c1a0">More...</a><br /></td></tr>
<tr class="separator:ga1e82e9bb7ac0d602cdd774cda222c1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b0865b5611c7ed8e07c2e7f86e215aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9b0865b5611c7ed8e07c2e7f86e215aa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga9b0865b5611c7ed8e07c2e7f86e215aa">NEF_FLAT</a>&#160;&#160;&#160;0x0400</td></tr>
<tr class="memdesc:ga9b0865b5611c7ed8e07c2e7f86e215aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Autocreate FLAT group (PE) <br /></td></tr>
<tr class="separator:ga9b0865b5611c7ed8e07c2e7f86e215aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36e889499ec4dabe90559972ee2d4636"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#ga36e889499ec4dabe90559972ee2d4636">NEF_MINI</a>&#160;&#160;&#160;0x0800</td></tr>
<tr class="memdesc:ga36e889499ec4dabe90559972ee2d4636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create mini database (do not copy.  <a href="group___n_e_f__.html#ga36e889499ec4dabe90559972ee2d4636">More...</a><br /></td></tr>
<tr class="separator:ga36e889499ec4dabe90559972ee2d4636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5a6e5de2195e83575d8270f12e0e60c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae5a6e5de2195e83575d8270f12e0e60c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#gae5a6e5de2195e83575d8270f12e0e60c">NEF_LOPT</a>&#160;&#160;&#160;0x1000</td></tr>
<tr class="memdesc:gae5a6e5de2195e83575d8270f12e0e60c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display additional loader options dialog. <br /></td></tr>
<tr class="separator:gae5a6e5de2195e83575d8270f12e0e60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae47bae339b2cc06a2ec5fb30dab3adf0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae47bae339b2cc06a2ec5fb30dab3adf0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_e_f__.html#gae47bae339b2cc06a2ec5fb30dab3adf0">NEF_LALL</a>&#160;&#160;&#160;0x2000</td></tr>
<tr class="memdesc:gae47bae339b2cc06a2ec5fb30dab3adf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load all segments without questions. <br /></td></tr>
<tr class="separator:gae47bae339b2cc06a2ec5fb30dab3adf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5735ee8c4c61742f6170a408bb12a78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5735ee8c4c61742f6170a408bb12a78"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#af5735ee8c4c61742f6170a408bb12a78">LOADER_EXT</a>&#160;&#160;&#160;&quot;ldw&quot;</td></tr>
<tr class="memdesc:af5735ee8c4c61742f6170a408bb12a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loader module filename extension. <br /></td></tr>
<tr class="separator:af5735ee8c4c61742f6170a408bb12a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1492dab7111db119028b40aac9fa1c1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1492dab7111db119028b40aac9fa1c1a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a1492dab7111db119028b40aac9fa1c1a">LOADER_DLL</a>&#160;&#160;&#160;&quot;*.&quot; <a class="el" href="loader_8hpp.html#af5735ee8c4c61742f6170a408bb12a78">LOADER_EXT</a></td></tr>
<tr class="memdesc:a1492dab7111db119028b40aac9fa1c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pattern to find loader files. <br /></td></tr>
<tr class="separator:a1492dab7111db119028b40aac9fa1c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4724a3f2f382b39a23876212f758eb1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4724a3f2f382b39a23876212f758eb1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___l_i_f__.html#gac4724a3f2f382b39a23876212f758eb1">LIF_ARCHLDR</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:gac4724a3f2f382b39a23876212f758eb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">archive loader <br /></td></tr>
<tr class="separator:gac4724a3f2f382b39a23876212f758eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70f3ee40458929f67364429af8c68476"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga70f3ee40458929f67364429af8c68476"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#ga70f3ee40458929f67364429af8c68476">GENFLG_MAPSEG</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga70f3ee40458929f67364429af8c68476"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38" title="MAP file. ">OFILE_MAP</a>: generate map of segments <br /></td></tr>
<tr class="separator:ga70f3ee40458929f67364429af8c68476"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga808d0a66a6e55930442f77a79fefc5f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga808d0a66a6e55930442f77a79fefc5f2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#ga808d0a66a6e55930442f77a79fefc5f2">GENFLG_MAPNAME</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga808d0a66a6e55930442f77a79fefc5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38" title="MAP file. ">OFILE_MAP</a>: include dummy names <br /></td></tr>
<tr class="separator:ga808d0a66a6e55930442f77a79fefc5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa5e00f8000bdd5f7101ca87e9847a6fa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa5e00f8000bdd5f7101ca87e9847a6fa"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#gaa5e00f8000bdd5f7101ca87e9847a6fa">GENFLG_MAPDMNG</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:gaa5e00f8000bdd5f7101ca87e9847a6fa"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38" title="MAP file. ">OFILE_MAP</a>: demangle names <br /></td></tr>
<tr class="separator:gaa5e00f8000bdd5f7101ca87e9847a6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaacc83da733c500762dfeddf2125c4533"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaacc83da733c500762dfeddf2125c4533"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#gaacc83da733c500762dfeddf2125c4533">GENFLG_MAPLOC</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:gaacc83da733c500762dfeddf2125c4533"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38" title="MAP file. ">OFILE_MAP</a>: include local names <br /></td></tr>
<tr class="separator:gaacc83da733c500762dfeddf2125c4533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8232a1d2349932e7a70733c6d1606537"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8232a1d2349932e7a70733c6d1606537"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#ga8232a1d2349932e7a70733c6d1606537">GENFLG_IDCTYPE</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:ga8232a1d2349932e7a70733c6d1606537"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ae7aa088bbb5f8e44928f19b196cd9cea" title="IDC file. ">OFILE_IDC</a>: gen only information about types <br /></td></tr>
<tr class="separator:ga8232a1d2349932e7a70733c6d1606537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga040347fccdc31008de710c73aa58596b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga040347fccdc31008de710c73aa58596b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#ga040347fccdc31008de710c73aa58596b">GENFLG_ASMTYPE</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:ga040347fccdc31008de710c73aa58596b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ad5210e503207e842b477f9f9e5af91d7" title="Assembly. ">OFILE_ASM</a>,<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13afb6dc515fb3c0712c58436b2a27fbbe5" title="Disassembly listing. ">OFILE_LST</a>: gen information about types too <br /></td></tr>
<tr class="separator:ga040347fccdc31008de710c73aa58596b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadb837b302cf57aa7081a7ca9d16d413"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaadb837b302cf57aa7081a7ca9d16d413"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#gaadb837b302cf57aa7081a7ca9d16d413">GENFLG_GENHTML</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:gaadb837b302cf57aa7081a7ca9d16d413"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ad5210e503207e842b477f9f9e5af91d7" title="Assembly. ">OFILE_ASM</a>,<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13afb6dc515fb3c0712c58436b2a27fbbe5" title="Disassembly listing. ">OFILE_LST</a>: generate html (<a class="el" href="kernwin_8hpp.html#a4a23e389ff9cbf1cd31179ca2f393334a34554496f5ccd6ef68fa75dd0ca6ae8c" title="cb: handle html generation. ">ui_genfile_callback</a> will be used) <br /></td></tr>
<tr class="separator:gaadb837b302cf57aa7081a7ca9d16d413"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03ecf33d18bdf11d5fb94b2966c6ca58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga03ecf33d18bdf11d5fb94b2966c6ca58"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_e_n_f_l_g__.html#ga03ecf33d18bdf11d5fb94b2966c6ca58">GENFLG_ASMINC</a>&#160;&#160;&#160;0x0040</td></tr>
<tr class="memdesc:ga03ecf33d18bdf11d5fb94b2966c6ca58"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ad5210e503207e842b477f9f9e5af91d7" title="Assembly. ">OFILE_ASM</a>,<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13afb6dc515fb3c0712c58436b2a27fbbe5" title="Disassembly listing. ">OFILE_LST</a>: gen information only about types <br /></td></tr>
<tr class="separator:ga03ecf33d18bdf11d5fb94b2966c6ca58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50430c47036d7093679721727e35e971"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a50430c47036d7093679721727e35e971">FILEREG_PATCHABLE</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a50430c47036d7093679721727e35e971"><td class="mdescLeft">&#160;</td><td class="mdescRight">means that the input file may be  <a href="#a50430c47036d7093679721727e35e971">More...</a><br /></td></tr>
<tr class="separator:a50430c47036d7093679721727e35e971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84c383cb7e29f788dd8d2a70e3105338"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a84c383cb7e29f788dd8d2a70e3105338">FILEREG_NOTPATCHABLE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a84c383cb7e29f788dd8d2a70e3105338"><td class="mdescLeft">&#160;</td><td class="mdescRight">the data is kept in some encoded  <a href="#a84c383cb7e29f788dd8d2a70e3105338">More...</a><br /></td></tr>
<tr class="separator:a84c383cb7e29f788dd8d2a70e3105338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga053458a32fa2a7bceaa884706e9fec3f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga053458a32fa2a7bceaa884706e9fec3f">PLUGIN_MOD</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga053458a32fa2a7bceaa884706e9fec3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin changes the database.  <a href="group___p_l_u_g_i_n__.html#ga053458a32fa2a7bceaa884706e9fec3f">More...</a><br /></td></tr>
<tr class="separator:ga053458a32fa2a7bceaa884706e9fec3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25ee3ee8e48712bde6186f39f729cf66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga25ee3ee8e48712bde6186f39f729cf66"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga25ee3ee8e48712bde6186f39f729cf66">PLUGIN_DRAW</a>&#160;&#160;&#160;0x0002</td></tr>
<tr class="memdesc:ga25ee3ee8e48712bde6186f39f729cf66"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDA should redraw everything after calling the plugin. <br /></td></tr>
<tr class="separator:ga25ee3ee8e48712bde6186f39f729cf66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c08231bd50bf07d8f35470becbc36f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0c08231bd50bf07d8f35470becbc36f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga0c08231bd50bf07d8f35470becbc36f4">PLUGIN_SEG</a>&#160;&#160;&#160;0x0004</td></tr>
<tr class="memdesc:ga0c08231bd50bf07d8f35470becbc36f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin may be applied only if the current address belongs to a segment. <br /></td></tr>
<tr class="separator:ga0c08231bd50bf07d8f35470becbc36f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef9f42b5012e3213d8e3b4719e73a961"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#gaef9f42b5012e3213d8e3b4719e73a961">PLUGIN_UNL</a>&#160;&#160;&#160;0x0008</td></tr>
<tr class="memdesc:gaef9f42b5012e3213d8e3b4719e73a961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unload the plugin immediately after calling 'run'.  <a href="group___p_l_u_g_i_n__.html#gaef9f42b5012e3213d8e3b4719e73a961">More...</a><br /></td></tr>
<tr class="separator:gaef9f42b5012e3213d8e3b4719e73a961"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84260e966b157a4277779b1783d87a56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga84260e966b157a4277779b1783d87a56">PLUGIN_HIDE</a>&#160;&#160;&#160;0x0010</td></tr>
<tr class="memdesc:ga84260e966b157a4277779b1783d87a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin should not appear in the Edit, Plugins menu.  <a href="group___p_l_u_g_i_n__.html#ga84260e966b157a4277779b1783d87a56">More...</a><br /></td></tr>
<tr class="separator:ga84260e966b157a4277779b1783d87a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1136f920c68618a68d8563fe6b0808d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga1136f920c68618a68d8563fe6b0808d1">PLUGIN_DBG</a>&#160;&#160;&#160;0x0020</td></tr>
<tr class="memdesc:ga1136f920c68618a68d8563fe6b0808d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">A debugger plugin.  <a href="group___p_l_u_g_i_n__.html#ga1136f920c68618a68d8563fe6b0808d1">More...</a><br /></td></tr>
<tr class="separator:ga1136f920c68618a68d8563fe6b0808d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6d068238960312fa4da65a6e3130b9f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#gaa6d068238960312fa4da65a6e3130b9f">PLUGIN_PROC</a>&#160;&#160;&#160;0x0040</td></tr>
<tr class="memdesc:gaa6d068238960312fa4da65a6e3130b9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load plugin when a processor module is loaded.  <a href="group___p_l_u_g_i_n__.html#gaa6d068238960312fa4da65a6e3130b9f">More...</a><br /></td></tr>
<tr class="separator:gaa6d068238960312fa4da65a6e3130b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f3f72fdbc0ba0395224cf8f7de6f7b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f3f72fdbc0ba0395224cf8f7de6f7b4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#ga4f3f72fdbc0ba0395224cf8f7de6f7b4">PLUGIN_FIX</a>&#160;&#160;&#160;0x0080</td></tr>
<tr class="memdesc:ga4f3f72fdbc0ba0395224cf8f7de6f7b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load plugin when IDA starts and keep it in the memory until IDA stops. <br /></td></tr>
<tr class="separator:ga4f3f72fdbc0ba0395224cf8f7de6f7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4621944ec5253bccdbcbe7f4e157d63"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n__.html#gad4621944ec5253bccdbcbe7f4e157d63">PLUGIN_SCRIPTED</a>&#160;&#160;&#160;0x8000</td></tr>
<tr class="memdesc:gad4621944ec5253bccdbcbe7f4e157d63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scripted plugin.  <a href="group___p_l_u_g_i_n__.html#gad4621944ec5253bccdbcbe7f4e157d63">More...</a><br /></td></tr>
<tr class="separator:gad4621944ec5253bccdbcbe7f4e157d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c9497652471d2816127ea0a9eb259f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8c9497652471d2816127ea0a9eb259f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n___i_n_i_t.html#ga8c9497652471d2816127ea0a9eb259f4">PLUGIN_SKIP</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga8c9497652471d2816127ea0a9eb259f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin doesn't want to be loaded. <br /></td></tr>
<tr class="separator:ga8c9497652471d2816127ea0a9eb259f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad00d87ffd3407913fdb864e3f2187c74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n___i_n_i_t.html#gad00d87ffd3407913fdb864e3f2187c74">PLUGIN_OK</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gad00d87ffd3407913fdb864e3f2187c74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin agrees to work with the current database.  <a href="group___p_l_u_g_i_n___i_n_i_t.html#gad00d87ffd3407913fdb864e3f2187c74">More...</a><br /></td></tr>
<tr class="separator:gad00d87ffd3407913fdb864e3f2187c74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf25be6696b26feb331ab647f0a51bdb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf25be6696b26feb331ab647f0a51bdb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_l_u_g_i_n___i_n_i_t.html#gadf25be6696b26feb331ab647f0a51bdb">PLUGIN_KEEP</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:gadf25be6696b26feb331ab647f0a51bdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plugin agrees to work with the current database and wants to stay in the memory. <br /></td></tr>
<tr class="separator:gadf25be6696b26feb331ab647f0a51bdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a8a8490296aaab573191e17924ae82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35a8a8490296aaab573191e17924ae82"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a35a8a8490296aaab573191e17924ae82">PLUGIN_EXT</a>&#160;&#160;&#160;&quot;plw&quot;</td></tr>
<tr class="memdesc:a35a8a8490296aaab573191e17924ae82"><td class="mdescLeft">&#160;</td><td class="mdescRight">PLUGIN module file name extensions. <br /></td></tr>
<tr class="separator:a35a8a8490296aaab573191e17924ae82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8c69923953387b6f169161d3ed50845"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8c69923953387b6f169161d3ed50845"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ad8c69923953387b6f169161d3ed50845">PLUGIN_DLL</a>&#160;&#160;&#160;&quot;*.&quot; <a class="el" href="loader_8hpp.html#a35a8a8490296aaab573191e17924ae82">PLUGIN_EXT</a></td></tr>
<tr class="memdesc:ad8c69923953387b6f169161d3ed50845"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pattern to find plugin files. <br /></td></tr>
<tr class="separator:ad8c69923953387b6f169161d3ed50845"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac55b8f85eace4d4ce5313e51d6d4f06a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac55b8f85eace4d4ce5313e51d6d4f06a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ac55b8f85eace4d4ce5313e51d6d4f06a">IDP_EXT</a>&#160;&#160;&#160;&quot;w32&quot;</td></tr>
<tr class="memdesc:ac55b8f85eace4d4ce5313e51d6d4f06a"><td class="mdescLeft">&#160;</td><td class="mdescRight">IDP module file name extension. <br /></td></tr>
<tr class="separator:ac55b8f85eace4d4ce5313e51d6d4f06a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1233441771dc81be9801345f7ad89752"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1233441771dc81be9801345f7ad89752"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a1233441771dc81be9801345f7ad89752">IDP_DLL</a>&#160;&#160;&#160;&quot;*.&quot; <a class="el" href="loader_8hpp.html#ac55b8f85eace4d4ce5313e51d6d4f06a">IDP_EXT</a></td></tr>
<tr class="memdesc:a1233441771dc81be9801345f7ad89752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pattern to find idp files. <br /></td></tr>
<tr class="separator:a1233441771dc81be9801345f7ad89752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9d76a789ba9fe50d6abd7a31463e3c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd9d76a789ba9fe50d6abd7a31463e3c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#acd9d76a789ba9fe50d6abd7a31463e3c">MAX_DATABASE_DESCRIPTION</a>&#160;&#160;&#160;128</td></tr>
<tr class="memdesc:acd9d76a789ba9fe50d6abd7a31463e3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum database snapshot description length. <br /></td></tr>
<tr class="separator:acd9d76a789ba9fe50d6abd7a31463e3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga804afc38b16073f6fd8c044a7c530fb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga804afc38b16073f6fd8c044a7c530fb2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_s_f__.html#ga804afc38b16073f6fd8c044a7c530fb2">SSF_AUTOMATIC</a>&#160;&#160;&#160;0x0001</td></tr>
<tr class="memdesc:ga804afc38b16073f6fd8c044a7c530fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">automatic snapshot <br /></td></tr>
<tr class="separator:ga804afc38b16073f6fd8c044a7c530fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97f1b7d2dd235998e1ff01f1240ee3ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga97f1b7d2dd235998e1ff01f1240ee3ae"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_s_u_f__.html#ga97f1b7d2dd235998e1ff01f1240ee3ae">SSUF_DESC</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="memdesc:ga97f1b7d2dd235998e1ff01f1240ee3ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the description. <br /></td></tr>
<tr class="separator:ga97f1b7d2dd235998e1ff01f1240ee3ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf576389ee5dbacdbf0d1b9452ff6520"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabf576389ee5dbacdbf0d1b9452ff6520"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_s_u_f__.html#gabf576389ee5dbacdbf0d1b9452ff6520">SSUF_PATH</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="memdesc:gabf576389ee5dbacdbf0d1b9452ff6520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the path. <br /></td></tr>
<tr class="separator:gabf576389ee5dbacdbf0d1b9452ff6520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17cdaf1fcbbd3e1ef1134f1e64123922"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga17cdaf1fcbbd3e1ef1134f1e64123922"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_s_u_f__.html#ga17cdaf1fcbbd3e1ef1134f1e64123922">SSUF_FLAGS</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="memdesc:ga17cdaf1fcbbd3e1ef1134f1e64123922"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the flags. <br /></td></tr>
<tr class="separator:ga17cdaf1fcbbd3e1ef1134f1e64123922"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad40315e938c2fce40a11f27811da879f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad40315e938c2fce40a11f27811da879f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_b_f_l__.html#gad40315e938c2fce40a11f27811da879f">DBFL_KILL</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:gad40315e938c2fce40a11f27811da879f"><td class="mdescLeft">&#160;</td><td class="mdescRight">delete unpacked database <br /></td></tr>
<tr class="separator:gad40315e938c2fce40a11f27811da879f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9790cdb55a5a83f37c6f475ce6f0d1b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9790cdb55a5a83f37c6f475ce6f0d1b7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_b_f_l__.html#ga9790cdb55a5a83f37c6f475ce6f0d1b7">DBFL_COMP</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga9790cdb55a5a83f37c6f475ce6f0d1b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">collect garbage <br /></td></tr>
<tr class="separator:ga9790cdb55a5a83f37c6f475ce6f0d1b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a20bc994b2064ad6fb28c12813a8727"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6a20bc994b2064ad6fb28c12813a8727"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_b_f_l__.html#ga6a20bc994b2064ad6fb28c12813a8727">DBFL_BAK</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="memdesc:ga6a20bc994b2064ad6fb28c12813a8727"><td class="mdescLeft">&#160;</td><td class="mdescRight">create backup file (if !DBFL_KILL) <br /></td></tr>
<tr class="separator:ga6a20bc994b2064ad6fb28c12813a8727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga92ff8f4f7382f10f43afeb9dfdcfcb43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga92ff8f4f7382f10f43afeb9dfdcfcb43"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___d_b_f_l__.html#ga92ff8f4f7382f10f43afeb9dfdcfcb43">DBFL_TEMP</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:ga92ff8f4f7382f10f43afeb9dfdcfcb43"><td class="mdescLeft">&#160;</td><td class="mdescRight">temporary database <br /></td></tr>
<tr class="separator:ga92ff8f4f7382f10f43afeb9dfdcfcb43"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a6c309fd957fd4d5d6e4b878f1523053a"><td class="memItemLeft" align="right" valign="top">typedef int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a6c309fd957fd4d5d6e4b878f1523053a">importer_t</a>(linput_t *li, <a class="el" href="structimpinfo__t.html">impinfo_t</a> *ii)</td></tr>
<tr class="memdesc:a6c309fd957fd4d5d6e4b878f1523053a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for checking dll module - passed to <a class="el" href="loader_8hpp.html#a691f60415204d2d43ee2f71444a229e8" title="Find and import a DLL module. ">import_module()</a>.  <a href="#a6c309fd957fd4d5d6e4b878f1523053a">More...</a><br /></td></tr>
<tr class="separator:a6c309fd957fd4d5d6e4b878f1523053a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad04ad05effd5fed8829a56648ccc1520"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad04ad05effd5fed8829a56648ccc1520"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structidp__name__t.html">idp_name_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#ad04ad05effd5fed8829a56648ccc1520">idp_names_t</a></td></tr>
<tr class="memdesc:ad04ad05effd5fed8829a56648ccc1520"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of processor names <br /></td></tr>
<tr class="separator:ad04ad05effd5fed8829a56648ccc1520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af800f6e24c5fc4b6e53be1c585813930"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af800f6e24c5fc4b6e53be1c585813930"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structidp__desc__t.html">idp_desc_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#af800f6e24c5fc4b6e53be1c585813930">idp_descs_t</a></td></tr>
<tr class="memdesc:af800f6e24c5fc4b6e53be1c585813930"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of processor module descriptions <br /></td></tr>
<tr class="separator:af800f6e24c5fc4b6e53be1c585813930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ff57e32230aa95b8d696df27cc43bc4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ff57e32230aa95b8d696df27cc43bc4"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="classsnapshot__t.html">snapshot_t</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#a5ff57e32230aa95b8d696df27cc43bc4">snapshots_t</a></td></tr>
<tr class="memdesc:a5ff57e32230aa95b8d696df27cc43bc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of database snapshots <br /></td></tr>
<tr class="separator:a5ff57e32230aa95b8d696df27cc43bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aedd09d8d4388efa808171434ac541d13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13">ofile_type_t</a> { <br />
&#160;&#160;<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38">OFILE_MAP</a> = 0, 
<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13aba7c63918a7f2150fc508ed1d8ec4d9e">OFILE_EXE</a> = 1, 
<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ae7aa088bbb5f8e44928f19b196cd9cea">OFILE_IDC</a> = 2, 
<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13afb6dc515fb3c0712c58436b2a27fbbe5">OFILE_LST</a> = 3, 
<br />
&#160;&#160;<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13ad5210e503207e842b477f9f9e5af91d7">OFILE_ASM</a> = 4, 
<a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13a6dc703e165a6f190e4784df39855550d">OFILE_DIF</a> = 5
<br />
 }</td></tr>
<tr class="memdesc:aedd09d8d4388efa808171434ac541d13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output file types.  <a href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13">More...</a><br /></td></tr>
<tr class="separator:aedd09d8d4388efa808171434ac541d13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc09bc028687e92ef441af98ebf39072"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_a_t_h___t_y_p_e__.html#gafc09bc028687e92ef441af98ebf39072">path_type_t</a> { <a class="el" href="group___p_a_t_h___t_y_p_e__.html#ggafc09bc028687e92ef441af98ebf39072a7a6c53b9d08d950015b39698002ca711">PATH_TYPE_CMD</a>, 
<a class="el" href="group___p_a_t_h___t_y_p_e__.html#ggafc09bc028687e92ef441af98ebf39072a2ccf83da59e81168ed422aa1f9807f35">PATH_TYPE_IDB</a>, 
<a class="el" href="group___p_a_t_h___t_y_p_e__.html#ggafc09bc028687e92ef441af98ebf39072a97ea26d31dbf83cd6eb7a9d14b9ade81">PATH_TYPE_ID0</a>
 }</td></tr>
<tr class="separator:gafc09bc028687e92ef441af98ebf39072"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ac4a513b8be5b7a4aa5984ea4f43eacd1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ACCEPT_FIRST&#160;&#160;&#160;0x8000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Specify that a file format should be place first in "load file" dialog box. </p>
<p>See <a class="el" href="structloader__t.html#a71ddfdd15d4c7ff137acd776f21ece60" title="Check input file format. ">loader_t::accept_file</a> </p>

</div>
</div>
<a class="anchor" id="a50430c47036d7093679721727e35e971"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FILEREG_PATCHABLE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>means that the input file may be </p>
<p>patched (i.e. no compression, no iterated data, etc) </p>

</div>
</div>
<a class="anchor" id="a84c383cb7e29f788dd8d2a70e3105338"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FILEREG_NOTPATCHABLE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>the data is kept in some encoded </p>
<p>form in the file. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a6c309fd957fd4d5d6e4b878f1523053a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> importer_t(linput_t *li, <a class="el" href="structimpinfo__t.html">impinfo_t</a> *ii)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback for checking dll module - passed to <a class="el" href="loader_8hpp.html#a691f60415204d2d43ee2f71444a229e8" title="Find and import a DLL module. ">import_module()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">li</td><td>pointer to input file </td></tr>
    <tr><td class="paramname">ii</td><td>import info. If the function finds that ii.dllname does not match the module name passed to <a class="el" href="loader_8hpp.html#a691f60415204d2d43ee2f71444a229e8" title="Find and import a DLL module. ">import_module()</a>, it returns 0. <br />
 Otherwise it calls ii.func for each exported entry. <br />
 If ii.dllname==NULL then ii.func will be called with num==0 and name==dllname. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>dllname doesn't match, <a class="el" href="loader_8hpp.html#a691f60415204d2d43ee2f71444a229e8" title="Find and import a DLL module. ">import_module()</a> should continue </td></tr>
    <tr><td class="paramname">1</td><td>ok </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="aedd09d8d4388efa808171434ac541d13"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13">ofile_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Output file types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13ac624fba1b30cb2e084028e17d92c2b38"></a>OFILE_MAP&#160;</td><td class="fielddoc">
<p>MAP file. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13aba7c63918a7f2150fc508ed1d8ec4d9e"></a>OFILE_EXE&#160;</td><td class="fielddoc">
<p>Executable file. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13ae7aa088bbb5f8e44928f19b196cd9cea"></a>OFILE_IDC&#160;</td><td class="fielddoc">
<p>IDC file. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13afb6dc515fb3c0712c58436b2a27fbbe5"></a>OFILE_LST&#160;</td><td class="fielddoc">
<p>Disassembly listing. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13ad5210e503207e842b477f9f9e5af91d7"></a>OFILE_ASM&#160;</td><td class="fielddoc">
<p>Assembly. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="aedd09d8d4388efa808171434ac541d13a6dc703e165a6f190e4784df39855550d"></a>OFILE_DIF&#160;</td><td class="fielddoc">
<p>Difference. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ac5e3189d54cc0c34924fb28ebacbbbc3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#aa1728270d73c5d1598de1fd691762eb1">NORETURN</a> void loader_failure </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>format</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Display a message about a loader failure and stop the loading process. </p>
<p>The kernel will destroy the database. If format == NULL, no message will be displayed This function does not return (it longjumps)! It may be called only from <a class="el" href="structloader__t.html#a06ce7bcf929568ec0e8860cebf235f32" title="Load file into the database. ">loader_t::load_file</a> </p>

</div>
</div>
<a class="anchor" id="a18e35121f357ca80129e31041429b913"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> char* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_loader_name_from_dll </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dllname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get name of loader from its DLL file (for example, for PE files we will get "PE"). </p>
<p>This function modifies the original string and returns a pointer into it. NB: if the file extension is a registered extlang extension (e.g. py or idc) the extension is retained </p>

</div>
</div>
<a class="anchor" id="a9c79e47be0a36e47363409f3ce9ce6c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_loader_name </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get name of loader used to load the input file into the database. </p>
<p>If no external loader was used, returns -1. Otherwise copies the loader file name without the extension in the buf and returns its length (for example, for PE files we will get "PE"). For scripted loaders, the file extension is retained. </p>

</div>
</div>
<a class="anchor" id="a5b08728a4c590e639d3eebca204e7194"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> load_binary_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">linput_t *&#160;</td>
          <td class="paramname"><em>li</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a>&#160;</td>
          <td class="paramname"><em>_neflags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a>&#160;</td>
          <td class="paramname"><em>fileoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>basepara</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>binoff</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a2f5563986d7f95e4fad5876c17d9cdda">uint64</a>&#160;</td>
          <td class="paramname"><em>nbytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load a binary file into the database. </p>
<p>This function usually is called from ui. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>the name of input file as is (if the input file is from library, then this is the name from the library) </td></tr>
    <tr><td class="paramname">li</td><td>loader input source </td></tr>
    <tr><td class="paramname">_neflags</td><td><a class="el" href="group___n_e_f__.html">Load file flags</a>. For the first file, the flag <a class="el" href="group___n_e_f__.html#gaf656881a6f6cf5f94781f6b1daf225df" title="This is the first file loaded. ">NEF_FIRST</a> must be set. </td></tr>
    <tr><td class="paramname">fileoff</td><td>Offset in the input file </td></tr>
    <tr><td class="paramname">basepara</td><td>Load address in paragraphs </td></tr>
    <tr><td class="paramname">binoff</td><td>Load offset (load_address=(basepara&lt;&lt;4)+binoff) </td></tr>
    <tr><td class="paramname">nbytes</td><td>Number of bytes to load from the file.<ul>
<li>0: up to the end of the file</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<p>If nbytes is bigger than the number of bytes rest, the kernel will load as much as possible </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>failed (couldn't open the file) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac15d39cb4930f335d521516d8e56e77d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> load_nonbinary_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">linput_t *&#160;</td>
          <td class="paramname"><em>li</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sysdlldir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a>&#160;</td>
          <td class="paramname"><em>_neflags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structload__info__t.html">load_info_t</a> *&#160;</td>
          <td class="paramname"><em>loader</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load a non-binary file into the database. </p>
<p>This function usually is called from ui. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>the name of input file as is (if the input file is from library, then this is the name from the library) </td></tr>
    <tr><td class="paramname">li</td><td>loader input source </td></tr>
    <tr><td class="paramname">sysdlldir</td><td>a directory with system dlls. Pass "." if unknown. </td></tr>
    <tr><td class="paramname">_neflags</td><td><a class="el" href="group___n_e_f__.html">Load file flags</a>. For the first file the flag <a class="el" href="group___n_e_f__.html#gaf656881a6f6cf5f94781f6b1daf225df" title="This is the first file loaded. ">NEF_FIRST</a> must be set. </td></tr>
    <tr><td class="paramname">loader</td><td>pointer to <a class="el" href="structload__info__t.html" title="List of loaders. ">load_info_t</a> structure. If the current IDP module has processor_t::loader != NULL then this argument is ignored. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ab10ca781692c3c093f87e376b2709f93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> process_archive </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>temp_file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">linput_t *&#160;</td>
          <td class="paramname"><em>li</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>module_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#ab95f123a6c9bcfee6a343170ef8c5f69">ushort</a> *&#160;</td>
          <td class="paramname"><em>neflags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>defmember</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structload__info__t.html">load_info_t</a> *&#160;</td>
          <td class="paramname"><em>loader</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a> *&#160;</td>
          <td class="paramname"><em>errbuf</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calls <a class="el" href="structloader__t.html#a9f5ef40830d55bde46d1487214ce478a" title="Display list of archive members and let the user select one. ">loader_t::process_archive()</a> For parameters and return value description look at <a class="el" href="structloader__t.html#a9f5ef40830d55bde46d1487214ce478a" title="Display list of archive members and let the user select one. ">loader_t::process_archive()</a>. </p>
<p>Additional parameter: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">loader</td><td>pointer to <a class="el" href="structload__info__t.html" title="List of loaders. ">load_info_t</a> structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a777046093020c790ec43bd207166bf09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> gen_file </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13">ofile_type_t</a>&#160;</td>
          <td class="paramname"><em>otype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate an output file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">otype</td><td>type of output file. </td></tr>
    <tr><td class="paramname">fp</td><td>the output file handle </td></tr>
    <tr><td class="paramname">ea1</td><td>start address. For some file types this argument is ignored </td></tr>
    <tr><td class="paramname">ea2</td><td>end address. For some file types this argument is ignored as usual in ida, the end address of the range is not included </td></tr>
    <tr><td class="paramname">flags</td><td><a class="el" href="group___g_e_n_f_l_g__.html">Generate file flags</a></td></tr>
  </table>
  </dd>
</dl>
<p>For <a class="el" href="loader_8hpp.html#aedd09d8d4388efa808171434ac541d13aba7c63918a7f2150fc508ed1d8ec4d9e" title="Executable file. ">OFILE_EXE</a>: </p><dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>can't generate exe file </td></tr>
    <tr><td class="paramname">1</td><td>ok</td></tr>
  </table>
  </dd>
</dl>
<p>For other file types: </p><dl class="section return"><dt>Returns</dt><dd>number of the generated lines. -1 if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="aa55dad642948cb62f91344716212366a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> file2base </td>
          <td>(</td>
          <td class="paramtype">linput_t *&#160;</td>
          <td class="paramname"><em>li</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>patchable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load portion of file into the database. </p>
<p>This function will include (ea1..ea2) into the addressing space of the program (make it enabled) </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">li</td><td>pointer of input source </td></tr>
    <tr><td class="paramname">pos</td><td>position in the file </td></tr>
    <tr><td class="paramname">ea1,ea2</td><td>range of destination linear addresses </td></tr>
    <tr><td class="paramname">patchable</td><td>should the kernel remember correspondence of file offsets to linear addresses. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>read error, a warning is displayed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3b18e29bd0da13b0560d26c1b2d4e172"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> mem2base </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>memptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a>&#160;</td>
          <td class="paramname"><em>fpos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load database from the memory. </p>
<p>This function works for wide byte processors too. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memptr</td><td>pointer to buffer with bytes </td></tr>
    <tr><td class="paramname">ea1,ea2</td><td>range of destination linear addresses </td></tr>
    <tr><td class="paramname">fpos</td><td>position in the input file the data is taken from. if == -1, then no file position correspond to the data. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 always </dd></dl>

</div>
</div>
<a class="anchor" id="ad72e52cafb9dcef67cd0b3ba9df3943f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> base2file </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a>&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unload database to a binary file. </p>
<p>This function works for wide byte processors too. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fp</td><td>pointer to file </td></tr>
    <tr><td class="paramname">pos</td><td>position in the file </td></tr>
    <tr><td class="paramname">ea1,ea2</td><td>range of source linear addresses </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1-ok(always), write error leads to immediate exit </dd></dl>

</div>
</div>
<a class="anchor" id="ab4ba049fd5e75b691ad84a1d4afaa7b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> extract_module_from_archive </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>temp_file_ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_remote</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extract a module for an archive file. </p>
<p>Parse an archive file, show the list of modules to the user, allow him to select a module, extract the selected module to a file (if the extract module is an archive, repeat the process). This function can handle ZIP, AR, AIXAR, OMFLIB files. The temporary file will be automatically deleted by IDA at the end. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">filename</td><td>in: input file. out: name of the selected module. </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">bufsize</td><td>size of the buffer with 'filename' </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">temp_file_ptr</td><td>will point to the name of the file that contains the extracted module </td></tr>
    <tr><td class="paramdir"></td><td class="paramname">is_remote</td><td>is the input file remote? </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>ok </td></tr>
    <tr><td class="paramname">false</td><td>something bad happened (error message has been displayed to the user) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a76f3d7216b04914ec7886daf05794f55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> create_filename_cmt </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add long comment at <a class="el" href="structidainfo.html#a9414151d0f7241ac1369b98358b8c0cb" title="current limits of program ">idainfo::min_ea</a>. </p>
<ul>
<li>Input file: ....</li>
<li>File format: ....</li>
</ul>
<p>This function should be called only from the loader to describe the input file. </p>

</div>
</div>
<a class="anchor" id="a1bf2f7720c1b4595f7ee1fbb3e34bde6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="ida_8hpp.html#a51e70cc62f9953d2ca9595e8461473b2">filetype_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_basic_file_type </td>
          <td>(</td>
          <td class="paramtype">linput_t *&#160;</td>
          <td class="paramname"><em>li</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the input file type. </p>
<p>This function can recognize libraries and zip files. </p>

</div>
</div>
<a class="anchor" id="a85d9ba6bca5dfb0296d5339d9343bb22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> size_t <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_file_type_name </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>bufsize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get name of the current file type. </p>
<p>The current file type is kept in <a class="el" href="structidainfo.html#a9615918b0c5b94d037dd9b61f94d67c8" title="The input file type. ">idainfo::filetype</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>buffer for the file type name </td></tr>
    <tr><td class="paramname">bufsize</td><td>its size </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of answer, this function always succeeds </dd></dl>

</div>
</div>
<a class="anchor" id="a691f60415204d2d43ee2f71444a229e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> import_module </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>windir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a>&#160;</td>
          <td class="paramname"><em>modnode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="loader_8hpp.html#a6c309fd957fd4d5d6e4b878f1523053a">importer_t</a> *&#160;</td>
          <td class="paramname"><em>importer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ostype</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find and import a DLL module. </p>
<p>This function adds information to the database (renames functions, etc). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>name of DLL </td></tr>
    <tr><td class="paramname">windir</td><td>system directory with dlls </td></tr>
    <tr><td class="paramname">modnode</td><td>node with information about imported entries. either altval or supval arrays may be absent. the node should never be deleted.<ul>
<li>imports by ordinals: altval(ord) contains linear address</li>
<li>imports by name: supval(ea) contains the imported name </li>
</ul>
</td></tr>
    <tr><td class="paramname">importer</td><td>callback function (may be NULL) to check dll module </td></tr>
    <tr><td class="paramname">ostype</td><td>type of operating system (subdir name). NULL means the IDS directory itself (not recommended) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aba0730edb4ea108a51cd3d4166a3097c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> load_ids_module </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load and apply IDS file. </p>
<p>This function loads the specified IDS file and applies it to the database. If the program imports functions from a module with the same name as the name of the ids file being loaded, then only functions from this module will be affected. Otherwise (i.e. when the program does not import a module with this name) any function in the program may be affected. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fname</td><td>name of file to apply </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>some error (a message is displayed). if the ids file does not exist, no message is displayed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a96800dfd50da2296e1586a63b62cf7d0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> const char* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_plugin_options </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>plugin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get plugin options from the command line. </p>
<p>If the user has specified the options in the -Oplugin_name:options format, them this function will return the 'options' part of it The 'plugin' parameter should denote the plugin name Returns NULL if there we no options specified </p>

</div>
</div>
<a class="anchor" id="a7f1441cc5329a24fba18b1ebcc93e648"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="structplugin__info__t.html">plugin_info_t</a>* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_plugins </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get pointer to the list of plugins. </p>
<p>(some plugins might be listed several times in the list - once for each configured argument) </p>

</div>
</div>
<a class="anchor" id="a9b8895f7a2023df147ca3c33c838dc66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="classplugin__t.html">plugin_t</a>* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> find_plugin </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>load_if_needed</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Find a user-defined plugin and optionally load it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>short plugin name without path and extension, or absolute path to the file name </td></tr>
    <tr><td class="paramname">load_if_needed</td><td>if the plugin is not present in the memory, try to load it </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to plugin description block </dd></dl>

</div>
</div>
<a class="anchor" id="a7e621020baec2507c01cf731ce235e82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> run_plugin </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classplugin__t.html">plugin_t</a> *&#160;</td>
          <td class="paramname"><em>ptr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run a loaded plugin with the specified argument. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>pointer to plugin description block </td></tr>
    <tr><td class="paramname">arg</td><td>argument to run with </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9abcb2944bf5c52b052bbf4a61b73827"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> invoke_plugin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structplugin__info__t.html">plugin_info_t</a> *&#160;</td>
          <td class="paramname"><em>ptr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Run a plugin as configured. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ptr</td><td>pointer to plugin information block </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3a1268cfc7b629c2be966383b748a825"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_fileregion_offset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>ea</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get offset in the input file which corresponds to the given ea. </p>
<p>If the specified ea can't be mapped into the input file offset, return -1. </p>

</div>
</div>
<a class="anchor" id="af44752f06437888ed7130392e7500c7a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_fileregion_ea </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a42ae75d34f73b9e691bd16aaddb897e5">qoff64_t</a>&#160;</td>
          <td class="paramname"><em>offset</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get linear address which corresponds to the specified input file offset. </p>
<p>If can't be found, return <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> </p>

</div>
</div>
<a class="anchor" id="a5ee2dc76ca48290c88148d797981a1e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> gen_exe_file </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generate an exe file (unload the database in binary form). </p>
<dl class="section return"><dt>Returns</dt><dd>fp the output file handle. if fp == NULL then return:<ul>
<li>1: can generate an executable file</li>
<li>0: can't generate an executable file </li>
</ul>
</dd></dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9fcf1fea4811bb1c5f0a73190bc14d6e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> reload_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>is_remote</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reload the input file. </p>
<p>This function reloads the byte values from the input file. It doesn't modify the segmentation, names, comments, etc. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>name of the input file. if file == NULL then returns:<ul>
<li>1: can reload the input file</li>
<li>0: can't reload the input file </li>
</ul>
</td></tr>
    <tr><td class="paramname">is_remote</td><td>is the file located on a remote computer with the debugger server? </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>ok </td></tr>
    <tr><td class="paramname">0</td><td>failed </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab9b1eb64bd13c7b7a5c1504a8f987d69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> build_snapshot_tree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>root</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Build the snapshot tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>snapshot root that will contain the snapshot tree elements. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a158e6ba80d69bcde4af42d2c939f4376"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> update_snapshot_attributes </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>attr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update the snapshot attributes. </p>
<dl class="section note"><dt>Note</dt><dd>only the snapshot description can be updated. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>snapshot file name or NULL for the current database </td></tr>
    <tr><td class="paramname">root</td><td>snapshot root (returned from <a class="el" href="loader_8hpp.html#ab9b1eb64bd13c7b7a5c1504a8f987d69" title="Build the snapshot tree. ">build_snapshot_tree()</a>) </td></tr>
    <tr><td class="paramname">attr</td><td>snapshot instance containing the updated attributes </td></tr>
    <tr><td class="paramname">uf</td><td><a class="el" href="group___s_s_u_f__.html">Snapshot update flags</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a11e7103c81ba0bc7b3baa7d24d4fccc8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> visit_snapshot_tree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>root</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> *)(<a class="el" href="classsnapshot__t.html">snapshot_t</a> *ss, void *ud)&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ud</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Visit the snapshot tree. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">root</td><td>snapshot root to start the enumeration from </td></tr>
    <tr><td class="paramname">callback</td><td>callback called for each child. return 0 to continue enumeration and non-zero to abort enumeration </td></tr>
    <tr><td class="paramname">ud</td><td>user data. will be passed back to the callback </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true-ok, false-failed </dd></dl>

</div>
</div>
<a class="anchor" id="a69927b7b74920604c6f44aa6e11f6294"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> save_database </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>outfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>root</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classsnapshot__t.html">snapshot_t</a> *&#160;</td>
          <td class="paramname"><em>attr</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save current database using a new file name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">outfile</td><td>output database file name </td></tr>
    <tr><td class="paramname">flags</td><td><a class="el" href="group___d_b_f_l__.html">Database flags</a> </td></tr>
    <tr><td class="paramname">root</td><td>optional: snapshot tree root. </td></tr>
    <tr><td class="paramname">attr</td><td>optional: snapshot attributes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>when both root and attr are not NULL then the snapshot attributes will be updated, otherwise the snapshot attributes will be inherited from the current database. </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="ac7f4bda41b8fad163e6dba22738e190b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> is_database_flag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>dbfl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the current database flag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dbfl</td><td>flag <a class="el" href="group___d_b_f_l__.html">Database flags</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the state of the flag (set or cleared) </dd></dl>

</div>
</div>
<a class="anchor" id="aa0e33baf80ef75d02f0e21f3ddceda42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> set_database_flag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>dbfl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>cnd</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set or clear database flag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dbfl</td><td>flag <a class="el" href="group___d_b_f_l__.html">Database flags</a> </td></tr>
    <tr><td class="paramname">cnd</td><td>set if true or clear flag otherwise </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3d52315010e82a531e269aa8aff2aa8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> const char* <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_path </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_a_t_h___t_y_p_e__.html#gafc09bc028687e92ef441af98ebf39072">path_type_t</a>&#160;</td>
          <td class="paramname"><em>pt</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the file path. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pt</td><td>file path type <a class="el" href="group___p_a_t_h___t_y_p_e__.html">Types of the file pathes</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>file path, never returns NULL </dd></dl>

</div>
</div>
<a class="anchor" id="acb580ee23f6f8a95df39136d45267870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> set_path </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___p_a_t_h___t_y_p_e__.html#gafc09bc028687e92ef441af98ebf39072">path_type_t</a>&#160;</td>
          <td class="paramname"><em>pt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the file path. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pt</td><td>file path type <a class="el" href="group___p_a_t_h___t_y_p_e__.html">Types of the file pathes</a> </td></tr>
    <tr><td class="paramname">path</td><td>new file path, use NULL or empty string to clear the file path </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a486af3674d3c096e2f4bc32c1a730ca4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> is_database_ext </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ext</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check the file extension. </p>
<dl class="section return"><dt>Returns</dt><dd>true if it is the reserved extension </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
